package comits.business.tiers.dao;//

import java.util.List;

import org.hibernate.SQLQuery;
import org.hibernate.context.internal.ManagedSessionContext;

import comits.business.tiers.metiers.Produit;
import comits.business.tiers.metiers.ProduitStocke;
import comits.business.tiers.orm.hibernate.HibernateSession;

public class ProduitDAOImpl implements ProduitDAO {

	
	public Produit recupereProduit(Integer numPdt) {
		//Execution de la requete et recuperation dans une arraylist 
		SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery(PropertiesConfig.Get("SelectProduit"))
		.addEntity(Produit.class);
		/*SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery("Select * FROM produit WHere NumPdt = ?")
		.addEntity(Produit.class);*/
		
		 sql.setInteger(0, numPdt);
		 Produit prdt = (Produit) sql.uniqueResult();
		System.out.println("***************** Produit ***************");
		System.out.println(prdt.toString());
		ManagedSessionContext.unbind(HibernateSession.getSessionFactory());
		
		//session.close();
		// Affichage des resultats de la requete
		
		return prdt;

	
	}

	public List<Produit> recupereProduitAll() {
		//Execution de la requete et recuperation dans une arraylist 
		SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery(PropertiesConfig.Get("SelectAllProduit"))
		.addEntity(Produit.class);
		/*
		SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery("select * from produit")
		.addEntity(Produit.class);*/
		
		List<Produit> listpdt = sql.list();
		/*System.out.println("***************** Produit ***************");
		System.out.println(prdt.toString());*/
		ManagedSessionContext.unbind(HibernateSession.getSessionFactory());
		
		//session.close();
		// Affichage des resultats de la requete
		
		return listpdt;

	
	}
	
	
	public Produit recupererProduit1(Integer numPdt){
		SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery(PropertiesConfig.Get("SelectProduit"))
		.addEntity(Produit.class);
		
		/*SQLQuery sql = HibernateSession.currentSession()
		.createSQLQuery("Select * FROM produit WHere NumPdt = ?")
		.addEntity(Produit.class);		*/
		
		sql.setInteger(0, numPdt);
		
		Produit prdt1 = (Produit) sql.uniqueResult();
		ManagedSessionContext.unbind(HibernateSession.getSessionFactory());
		System.out.println("......Produit..............");
		System.out.println(prdt1.toString());
		
		return prdt1;
		
	}
	
}
